const express = require('express')

const Topic = require('../models/topic') // topic数据库模板
const Comment = require('../models/comment') // comment数据库模板

const router = express.Router();

// 渲染新文章页面
router.get('/topics/new', (req, res, next) => {
  res.render('topic/new.html', {
    user: req.session.user
  })
})

router.post('/topics/new', (req, res, next) => {

  const body = req.body;
  // 保存文章
  new Topic(body).save(function (err, data) {
    if (err) { // 保存失败  数据库问题
      return next(err)
    }
    // 成功保存
    res.status(200).json({
      err_code: 0,
      message: 'OK'
    })

  })


})

// 展示文章页面
router.get('/topics/show', (req, res, next) => {

  // 查找对应的id文章
  Topic.findOne({
    _id: req.query._id

  }, function (err, data) {
    if (err) { // 数据问题
      return next(err)
    }

    const topicObj = data;

    // 更新一个
    Topic.updateOne({
      _id: topicObj._id,
      watch: topicObj.watch

    }, {
      _id: topicObj._id,
      watch: topicObj.watch + 1

    }, (er, data) => {
      if (err) {
        return console.log(err);
      }
      
      
      
      
      res.render('topic/show.html', {
        topic: topicObj
      })


    }) // 更新结束




  }) // 查找文章id 渲染结束

})

// 评论页面



router.post('/comment', (req, res, next) => {
  // console.log(req.body);
  const body = req.body;
  body.topic_id = body.topic_id.replace(/"/g, '')

  new Promise((resolved, rejected) => {
    Comment.findOne({ // 找到当前的文章数据
      topic_id: body.topic_id

    }, (err, data) => {
      if (err) {
        return console.log(err);

      }
      const user = data.user; // 拿到用户数组
      // 末尾添加一行
      const newComment = {
        user_id: body.user_id,
        comment: body.comment
      }

      user.push(newComment); // 更新评论
      console.log(data); // 

      Comment.updateOne({
        topic_id:body.topic_id
      }, {
        topic_id:body.topic_id,
        user
      }, (err, data) => {
        if(err){
          next(err)
          return console.log(err);
          
        }

        // console.log(data);
        res.status(200).json({
          err_code: 0,
          message: 'OK',
          newMessage: newComment
        })
        
      })


    })
  })

  // Comment.updateOne({
  //   topic_id: body.topic_id
  // }, {
  //   // user: 
  // })

  //   new Comment({ // 数据库保存评论
  //     topic_id: body.topic_id,
  //     user: {
  //       user_id: body.user_id,
  //       comment: body.comment
  //     }

  //   }).save((err, data) => { // 添加数据库
  //     if(err){ // 保存失败
  //       console.log(123);

  //        console.log(err);
  //     }
  //     console.log(data);

  //   })// 添加数据结束

})

module.exports = router;